1. Field of Invention
The present invention relates generally to computer based animation, and more particularly to animating characters in three dimensional (3D) environments. The present invention is also directed to animation techniques for animating scenes with crowds of objects and characters.
2. Background of the Invention
Motion pictures often include scenes of large crowds. For example, battlefields, stadiums, busy urban street scenes, and the like are found in many motion pictures. The most basic conventional film based approach to producing scenes of large crowds was hiring a "cast of thousands" to be the crowd and actually filming the scene. This approach is expensive, time consuming, and often impractical. More sophisticated approaches, for example to fill a stadium, include using a small number of live actors and large numbers of cardboard cutouts of people, or photographing a small number of actors and compositing their images multiple times to create the appearance of a crowd.
Computer-based animation of motion pictures also requires the ability to produce crowd scenes. However, the current technology paradigm of polygon based rendering makes animation of crowds extremely time consuming to produce. Polygon rendering takes a 3D model of a character and covers the surface of the model with a mesh of polygons, each of which has various color, transparency, and/or texture attributes. In conjunction with a lighting model defining sources of lighting and a camera model defining a point of view, the polygons of the model are rendered into an image. Depending on the size and detail of a character, to obtain a realistic, smooth surface of complex character may require about 1,000 polygons are used for each character.
For large crowd scenes, with 1,000 to 10,000 characters, each of a very small size in a final image, it is the silhouettes and shadows of the characters that need to be realistic in order to produce the best animation effects. With a polygon-based animation system, 1,000 characters with 1,000 polygons each would require rendering 1,000,000 polygons for a single frame of animation. At 24 frames per second, a short 1 minute scene would require 1.44 billion polygons rendered. Even at the extremely high speed of 1,000 polygons per second, this 1 minute scene would take about 400 hours to render. Hence, feature length films with many extensive crowd scenes become unworkable with polygon rendering. If the number of polygons per character is reduced in order to speed rendering, then the resulting character silhouettes and shadows become very angular, blocky and unrealistic looking. Thus, polygon rendering, while useful for very small numbers of characters and polygons per frame, becomes unwieldy for crowd scenes. This accounts in part for the lack large crowd scenes of more than a few seconds in current computer animated films.
Accordingly, it is desirable to provide a system and method of rendering 3D character models that can support high speed rendering of large crowds of characters, without sacrificing realistic shadows, silhouettes and movement of the characters.